const express = require('express')
const path = require('path')
const app = express()
app.get('/test', (req, res) => {
	//1、获取请求
	//http模块中request原生属性
	console.log(req.method)
	console.log(req.httpVersion)
	console.log(req.url)
	console.log(req.headers)
	//express模块中属性
	console.log(req.query) //请求参数
	console.log(req.path)
	console.log(req.ip)
	//获取请求体的方法请到“使用中间件获取请求体.js”中查看
	//2、设置响应信息
	//原生响应
	// res.statusCode=500
	// res.statusMessage='internal server error'
	// res.setHeader('content-type','text/html')
	// res.write('i love you')
	//新增响应设置方法
	// res.status(200)
	// res.set('content-type','text-html;charset=utf-8')//设置响应头
	// res.send('你好啊')//send相当于end，所以应该只写一个send
	//可以链式调用
	// res.status(200).set('content-type', 'text-html;charset=utf-8').send('你好啊') //.send('我不好')错误

	///其他响应：
	//1、跳转响应
	// res.redirect('http://www.jd.com')
	//2、下载响应，即发送文件让浏览器下载到本地
	// res.download('package.json')//相当于发送文件的同时设置响应头 content-disposition:attachment;filename="package.json
	//3、json响应
	// res.json({
	// 	name: '张三',
	// 	age: 28
	// })
	//4、发送文件内容
	res.sendFile(path.resolve(__dirname, './index.html'))

	// res.end('Home')
})
app.post('/login', (req, res) => {
	console.log(req.body)
})
//获取路径参数
app.get('/shopping/:id.html', (req, res) => {
	console.log(req.params.id)
	res.end('商品页面')
})

//在所有路由的最后使用/{*任意字符串}匹配所有路径，可以发送404响应
app.all('/{*path}', (req, res) => {
	res.end('404 NOT FOUND')
})

app.listen(9000, () => {
	console.log('开始监听')
})